c/c++中,"#"和"#"有何作用

来源:百度知道 编辑:UC知道 时间:2024/05/04 07:21:21
c/c++中,"#"和"#"有何作用

各位大虾,请赐教!
我忘记说啦,是在宏定义中使用“#”“##”有什么作用

1. '#' 用于将目标扩展成字符串, 如:
#define to_str(a) #a
如果这样使用:
const char foo[] = to_str(hello world);
宏扩展后会是:
const char foo[] = "hello world";
本质上就是对 # 后面的目标加上双引号;

2. '##' 用于将两个目标进行连接, 如:
#define a_and_b(a, b) a ## _ ## b
如果这样使用:
void a_and_b(Win32, Init)(void)
{
}
宏扩展后会是:
void Win32_Init(void)
{
}
这在有的时候会很有用的.

宏定义用的,应该是与到#需要进行编译,并且可以加载系统里面有的程序!